package com.ruoyi.common.enums.comlbs;

public interface DataEnum {

    Integer getCode();

    static <T extends DataEnum> T getEnum(Class<T> targetType, String source) {
        for (T enumObj : targetType.getEnumConstants()) {
            if (enumObj.getCode()!=null && source.equals(enumObj.getCode().toString())) {
                return enumObj;
            }
        }
        return null;
    }

    static <T extends DataEnum> T getEnum(Class<T> targetType, Integer source) {
        for (T enumObj : targetType.getEnumConstants()) {
            if (source.equals(enumObj.getCode())) {
                return enumObj;
            }
        }
        return null;
    }

}
